In computer communications technology, the rate of data communication between a computer and other peripheral devices is very important. The ability to quickly and accurately transfer data between two personal computers is of special interest in light of the increased use of portable computers. Often times, data entered into a portable computer is ultimately transferred to a user's home or office personal computer. Computer specialists are continually searching for communication protocols that increase data transfer rates without compromising the reliability of the data transmissions.
A conventional method for conveying data between computers, especially personal computers, involves the interconnection of a data bus disposed in a sending computer with a data bus disposed in a receiving computer. This is done by physically connecting the computers' serial or parallel ports through a link or data path. Serial communication is the input and output of data on one line, one bit at a time. Serial communications work well for transferring data over long distances but are unnecessarily slow when communicating between two devices that are relatively close. In contrast, parallel communication is the simultaneous transfer of a number of bits of data in parallel, i.e., on a multi-bit data path. The present invention is directed towards parallel communications.
Data paths for parallel communications range in widths such as 1-bit to 8-bit, 16-bit, and even wider. Parallel communication between two IBM-compatible personal computers has generally been limited to a 4-bit format due to perceived limitations in communication hardware. Each bit transferred in a parallel format requires its own line. Consequently, the number of bits that can be transferred is dependent upon the number of lines in the data path, which in turn, is limited by the interfacing equipment at each end of the path. Further, at least one additional line must be present in the data path to provide handshaking. Handshaking is the process by which two computers indicate to one another when data has been sent (strobe signal) and/or received (acknowledge signal).
In a conventional 4-bit method of parallel data transfer between two personal computers, the data are transmitted over a data path between the parallel ports wherein the path includes two unidirectional handshaking lines, generally referred to as a strobe line and an acknowledge line. The following steps are used to transmit data from the sending computer to the receiving computer:
1. the sending computer loads a piece of data on the data path through its parallel port; PA1 2. the sending computer sets the strobe line to indicate that data are available; PA1 3. the receiving computer recognizes the setting of the strobe line and reads the data on the data path through its parallel port; PA1 4. the receiving computer sets the acknowledge line to indicate that data has been read; and PA1 5. the sending computer recognizes the setting of the acknowledge line.
This process can be repeated indefinitely.
As described, the standard 4-bit intercomputer communication is done by connecting the parallel ports of two computers. The parallel ports on the majority of personal computers were designed for unilateral data transfer to a printer. Printer data are generally sent 8-bits at a time. The standard parallel interface for these computers includes seventeen active lines which are manipulated through three input/output (I/O) registers in the computer. These include data output, status and control registers. Of the active lines in the interface, eight are for data output, five are for checking the status of the printer and four are used to control the printing.
With respect to the majority of personal computers, the data output register and associated data pins are unidirectional, i.e. the computer can send data but not receive it through that register. Thus, although 8-bit parallel data can be sent to a device such as a printer, 8-bit parallel transfer cannot occur between two personal computers simply by connecting the data lines from the parallel ports and instructing one computer to send the data. The two parallel ports from each computer would fight for simultaneous control over the data lines, making data on those lines unreliable. Further, such a connection would likely cause harm to the data output register of at least one of the computers.
The five pins associated with the status register are also unidirectional, but in the opposite direction, carrying signals from the receiving device to the sending computer. Thus, prior systems providing 4-bit parallel intercomputer communication have connected five of the data lines from each computer to the status lines of the other computer to provide ten lines through which the computers can communicate bidirectionally. With regard to each computer, four of these lines are used to communicate a nibble, or four bits, of data and the fifth line is used as a strobe/acknowledge line as described above.
The available 4-bit parallel intercomputer communication format has been proven reliable. However, with the increased reliance on personal computer communications, the demand for increased communication speed is increasing. The present invention provides a reliable 8-bit intercomputer communications method using standard parallel ports.